package com.sky.common.enums;

import com.baomidou.mybatisplus.annotation.IEnum;

import java.util.Arrays;

/**
 * 重启策略
 *
 */
public enum RestartPolicy implements IEnum<Integer> {
    /**
     * 不重启
     */
    NO(1),
    /**
     * 一直重启
     */
    ALWAYS(2),

    /**
     * 失败重启
     */
    ON_FAILURE(3),

    /**
     * 除手动停止之外重启
     */
    UNLESS_STOPPED(4);

    /**
     * 构造器
     * @param value 值
     */
    RestartPolicy(int value) {
        this.value = value;
    }

    /**
     * 值
     */
    private final int value;

    @Override
    public Integer getValue() {
        return value;
    }

    /**
     * 返回对应的枚举对象
     * @param v 值
     * @return 枚举对象
     */
    public static RestartPolicy valueOf(int v) {
        return Arrays.stream(RestartPolicy.values()).filter(r -> r.getValue() == v).findFirst().orElse(null);
    }
}

